Not applicable.
Not applicable.
Not applicable.
1. Technical Field
The present invention relates in general to a system and method for simulating user activity on a computer network. The invention more particularly relates to a system and method for simulating user activity on a multi-tiered computer network to help analyze the performance of network components.
2. Background Art
Client/server computing has been embraced by the business enterprise community as an effective means for sharing information across an enterprise. By utilizing a client/server computer network, an enterprise was able to increase its efficiency by providing access to a common source of information for use by a large number of users when executing various application components of enterprise software.
A typical client/server computer network included a client application for requesting services from a server application. The client application was maintained on a client computer while the server application was maintained on a server computer. To enable the client computer to communicate with the server computer, the client computer was connected to the server computer by a communication network. For clarity, the client application/client computer combination is referred to herein as the xe2x80x9cclientxe2x80x9d and the server application/server computer combination is referred to as the xe2x80x9cserverxe2x80x9d.
The client/server computer network was especially suitable for a business enterprise because the client/server computer network enabled a large number of users to access enterprise information using clients connected to a server over the communication network. In this way it was possible for all of the clients to access the server for sharing the enterprise information and resources associated with the server.
In order to accommodate all of the requests for services received from the clients, the server had to be sized according to the expected user activity. By analyzing the performance of the server when responding to the requests for services received from the clients, it was possible to determine if the server was sized properly for the number of clients in the client/server computer network.
Ensuring that the server performance analysis was accurate required the reproduction of all of the expected requests for services generated by user activity on the clients (the xe2x80x9cexpected loadxe2x80x9d). One method for reproducing the expected load involved connecting a group of clients, corresponding in number to the expected load, to the server wherein each client generated requests for services from the server. This method taxed the human resources of the business enterprise as it required each one of the clients on the network to be operated by a user to generate the requests for services needed to analyze the server""s performance. In addition, this method was somewhat expensive due to the costs for obtaining and maintaining the group of clients.
In order to reproduce the expected load, yet reduce the number of clients required, a method for simulating multiple user activity on a single client was developed. This method was less taxing on human resources than the multiple user/client system. For example, systems for simulating client requests for services are shown and described in U.S. Pat. Nos. 5,812,780 and 5,819,066.
U.S. Pat. Nos. 5,812,780 and 5,819,066 describe testing tools including predefined client profiles or execution parameters that are used by a program to generate processes that simulate user activity for multiple users over a computer network. The client profiles and execution parameters are selected prior to execution of the program, and produce the processes that define an artificial representation of the expected load on a server. In this regard, the client profiles and execution parameters do not consider the actual requests for services generated by the client application. Instead, the patented systems attempt to simulate the requests for services without accounting for any variation in the request for service that might be generated by the client application. Commercially available testing tools included the WINRUNNER testing tool marketed by Mercury Interactive Corporation of Sunnyvale, Calif.
Therefore, it would be highly desirable to have a new and improved system and method for simulating user activity on a computer network, wherein requests for services generated by a client application are used to enhance the simulation of user activity on the network.
Load simulation systems testing tools, in conjunction with xe2x80x9csoftware hooksxe2x80x9d placed in a subject client"" database middleware, enabled user input to an application to be simulated and also enabled calls made to a database server by the database middleware to be recorded. Once recorded, the database calls were capable of being reproduced and transmitted directly to the database server to simulate user activity.
While such a system enabled the simulation of user activity on a 2-tier computer network, it was inadequate for accurately simulating user activity on a computer network having three or more tiers, also known as a N-tier or multi-tier computer network.
A 2-tier network generally included a group of clients connected to a database server. The database server maintained application information required to process requests for application services received from the clients. The clients maintained all business function information required by the clients.
Multi-tier computer networks facilitate a wider distribution of information across a business enterprise than is possible with a 2-tier computer network. A multi-tier computer network generally includes a group of clients connected to a database server and one or more additional servers, such as an application server, where the application server performs business transaction processing required by the clients.
The known load simulation system for simulating user activity on a 2-tier computer network described above was simply not adequate for simulating user requests for services from a database server and an application server on a multi-tier computer network. Consequently, the 2-tier simulation system was not able to accurately reproduce the expected load on the database server and the application server, and thus the performance of the network components could not be analyzed adequately.
Furthermore, changes to the configuration of objects distributed across the multi-tier computer network could not be accommodated easily by the 2-tier simulation systems. A recorded call associated with a reconfigured object could not properly simulate user activity and would have to be re-recorded or manually reconfigured to accommodate the change.
Therefore, it would also be highly desirable to have a new and improved system and method for simulating user activity on a computer network, wherein the user activity is simulated to facilitate the analysis of performance characteristics of a multi-tier computer network""s components. Such a system and method should accommodate changes to the multi-tier computer network without requiring modification to the system.
Therefore, the principal object of the present invention is to provide a new and improved system and method for simulating user activity on a multi-tier computer network, wherein user activity on the network is simulated according to requests for services made by a client application. Such a system should facilitate the analysis of performance characteristics of network components of a multi-tier computer network, and should easily accommodate changes to the configuration of objects distributed across the network.
Briefly, the above and further objects of the present invention are realized by providing a new and improved user activity simulation system and method which accurately simulates user activity on a multi-tier computer network, and which is not affected by changes to the configuration of objects distributed across a network.
The system for simulating user activity on a multi-tier computer network includes an event capture database for capturing interface level information and kernel level information associated with the interface level information. A virtual script editor module creates a virtual script from the captured interface level information and captured kernel level information to simulate user activity on the network. A virtual script playback module is responsive to the virtual script to produce virtual kernel level information indicative of network and server activity associated with a virtual user.